package com.lzkj.region.utils;

import org.apache.poi.poifs.filesystem.FileMagic;
import org.springframework.web.multipart.MultipartFile;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Objects;

/**
 * FileUtil
 *
 * @author raos
 * @email 991207823@qq.com
 * @date 2022/2/28 16:41
 */
public class FileUtil {

    private FileUtil() { }

    /**
     * 判断是否为Excel文件
     *
     * @param file
     * @return
     */
    public static boolean isExcelFile(MultipartFile file) {
        try {
            InputStream inputStream = new BufferedInputStream(file.getInputStream());
            FileMagic fileMagic = FileMagic.valueOf(inputStream);
            if (Objects.equals(fileMagic, FileMagic.OLE2) || Objects.equals(fileMagic, FileMagic.OOXML)) {
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

    /**
     * 判断是否为Excel文件 -- 待验证
     *
     * @param file
     * @return
     */
    public static boolean isExcelFile(File file) {
        try {
            InputStream inputStream = new FileInputStream(file);
            FileMagic fileMagic = FileMagic.valueOf(inputStream);
            if (Objects.equals(fileMagic, FileMagic.OLE2) || Objects.equals(fileMagic, FileMagic.OOXML)) {
                return true;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return false;
    }

}
